package fiuba.algo3.vista;

import java.awt.Color;
import java.awt.Graphics;

import fiuba.algo3.mapa.*;

public class PintorCalle {

	void pintar(Graphics g, Calle calle, int margen) {
		g.setColor(Color.GRAY);
		PintorObstaculo pintorObstaculo = new PintorObstaculo();
		PintorSorpresa pintorSorpresa = new PintorSorpresa();

		Esquina esquina1 = calle.obtenerEsquinas()[0];
		Esquina esquina2 = calle.obtenerEsquinas()[1];

		int pixX;
		int pixY;
		int coordX;
		int coordY;

		// Calles verticales
		if (esquina1.getCoordenadaX() - esquina2.getCoordenadaX() == 0) {
			coordX = esquina1.getCoordenadaX();
			pixX = coordX * PintorEscenario.LARGO_CALLE + coordX
					* PintorEscenario.ANCHO_ESQUINA + margen;

			if (esquina1.getCoordenadaY() < esquina2.getCoordenadaY())
				coordY = esquina1.getCoordenadaY();
			else
				coordY = esquina2.getCoordenadaY();

			pixY = coordY * PintorEscenario.LARGO_CALLE + coordY
					* PintorEscenario.ANCHO_ESQUINA
					+ PintorEscenario.ANCHO_ESQUINA + margen;
			g.fillRect(pixX, pixY, PintorEscenario.ANCHO_ESQUINA,
					PintorEscenario.LARGO_CALLE);

			pintorObstaculo.pintar(g, calle.getObstaculo(), pixX-2, pixY + 2);

			pintorSorpresa.pintar(g, calle.getSorpresa(), pixX-2, pixY + 20);

		}

		// calles horizontales
		if (esquina1.getCoordenadaY() - esquina2.getCoordenadaY() == 0) {
			coordY = esquina1.getCoordenadaY();
			pixY = coordY * PintorEscenario.LARGO_CALLE + coordY
					* PintorEscenario.ANCHO_ESQUINA + margen;

			if (esquina1.getCoordenadaX() < esquina2.getCoordenadaX())
				coordX = esquina1.getCoordenadaX();
			else
				coordX = esquina2.getCoordenadaX();

			pixX = coordX * PintorEscenario.LARGO_CALLE + coordX
					* PintorEscenario.ANCHO_ESQUINA
					+ PintorEscenario.ANCHO_ESQUINA + margen;
			g.fillRect(pixX, pixY, PintorEscenario.LARGO_CALLE,
					PintorEscenario.ANCHO_ESQUINA);

			pintorObstaculo.pintar(g, calle.getObstaculo(), pixX + 20, pixY-2 );

			pintorSorpresa.pintar(g, calle.getSorpresa(), pixX + 3, pixY-2 );

		}
	}

}
